package rhc.taskSchedule.task;

import java.util.List;

import rhc.taskSchedule.entity.TaskType;

public interface ScheduleTaskTypeInnerService {

	/**创建一个任务类型
	 * @param taskTypeName 任务类型名
	 * @param runNodeLabelList 运行节点标签列表
	 * @return
	 * @throws Exception
	 */
	TaskType createScheduleTaskType(String taskTypeName,List<String> runNodeLabelList) throws Exception;
	
	/**创建或获取调度任务
	 * @param taskTypeName 任务名
	 * @param runNodeLabelList 运行节点标签
	 * @return
	 * @throws Exception
	 */
	TaskType createOrGetScheduleTaskType(String taskTypeName,List<String> runNodeLabelList) throws Exception;
	
	/**更新任务类型
	 * @param taskTypeId 任务类型id
	 * @param taskTypeName 任务类型名
	 * @param runNodeLabelList 运行节点标签列表
	 * @return
	 * @throws Exception
	 */
	TaskType updateScheduleTaskType(String taskTypeId,String taskTypeName,List<String> runNodeLabelList) throws Exception;
	
	/**根据任务类型名获取任务类型
	 * @param taskTypeName
	 * @return
	 * @throws Exception
	 */
	TaskType getScheduleTaskTypeByName(String taskTypeName) throws Exception;
	
}
